package com.hs.srm.admin.modules.orders.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import cn.afterturn.easypoi.excel.annotation.Excel;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hs.srm.admin.modules.orders.vo.ScmPoItemVo;
import com.hs.srm.base.common.base.CloneableEntity;

 /*
  * 发货表
 */
@Setter
@Getter
@TableName("deliver")
@ToString
public class DeliverEntity implements Serializable , CloneableEntity<DeliverEntity> {

  private static final long serialVersionUID = 1L;

     public DeliverEntity(String pkId, String deliverNo, Date deliverTime, String poItemId, String poNo, String itemNo, BigDecimal shippedQty, String photoUrl, String edition, String status) {
         this.pkId = pkId;
         this.deliverNo = deliverNo;
         this.deliverTime = deliverTime;
         this.poItemId = poItemId;
         this.poNo = poNo;
         this.itemNo = itemNo;
         this.shippedQty = shippedQty;
         this.photoUrl = photoUrl;
         this.edition = edition;
         this.status = status;
     }

     /**
	 * 克隆当前对象
	 * @return
	 */
	@Override
	public DeliverEntity clone() {
		try {
			return (DeliverEntity)super.clone();
		} catch(CloneNotSupportedException ex) {
			ex.printStackTrace();
		}
		return null;
	}
  
  public DeliverEntity() {
	super();
  }
  
  /*
   * 流水id
  */
  @TableId(value = "pk_id", type = IdType.UUID)
  @TableField("pk_id")
  @Excel(name = "流水id", orderNum="1")
  private java.lang.String pkId;
  
  /*
   * 发货单号
  */
  @TableField("deliver_no")
  @Excel(name = "发货单号", orderNum="2")
  private java.lang.String deliverNo;
  
  /*
   * 发货日期时间
  */
  @TableField("deliver_time")
  @Excel(name = "发货日期时间", orderNum="3")
  //@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  @JSONField(format="yyyy-MM-dd HH:mm:ss")
  private java.util.Date deliverTime;
  
  /*
   * 行项目id
  */
  @TableField("po_item_id")
  @Excel(name = "行项目id", orderNum="4")
  private java.lang.String poItemId;
  
  /*
   * 订单号
  */
  @TableField("po_no")
  @Excel(name = "订单号", orderNum="5")
  private java.lang.String poNo;
  
  /*
   * 行项目号
  */
  @TableField("item_no")
  @Excel(name = "行项目号", orderNum="6")
  private java.lang.String itemNo;
  
  /*
   * 发货数量
  */
  @TableField("shipped_qty")
  @Excel(name = "发货数量", orderNum="7")
  private java.math.BigDecimal shippedQty;
  
  /*
   * 二维码的url
  */
  @TableField("photo_url")
  @Excel(name = "二维码的url", orderNum="8")
  private java.lang.String photoUrl;
  
  /*
   * 发货版本
  */
  @TableField("edition")
  @Excel(name = "发货版本", orderNum="9")
  private java.lang.String edition;
  
  
  /*
   * 发货状态
   * 2表示分批发货,3表示发货完毕
  */
  @TableField("status")
  @Excel(name = "2表示分批发货,3表示发货完毕", orderNum="10")
  private String status;
}
